package com.canaan.business.domain.inOutStock;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.canaan.common.annotation.Excel;
import com.canaan.common.annotation.TableName;
import com.canaan.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.Date;

/**
 * 出库单对象 wms_out_stock_order
 *
 * @author ruoyi
 * @date 2023-02-03
 */
@Data
@ApiModel(description = "wms_out_stock_order")
@TableName("wms_out_stock_order")
public class WmsOutStockOrder extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /** ID */
    @ApiModelProperty("id")
    private Long id;

    /** 编号 */
    @Excel(name = "编号")
    @ApiModelProperty("编号")
    private String no;

    /** 单据类型 1销售单 */
    @Excel(name = "单据类型")
    @ApiModelProperty("单据类型")
    private Integer orderType;

    /** 单据状态 1新建 2进行中 3完成 4取消 */
    @Excel(name = "单据状态")
    @ApiModelProperty("单据状态 1新建 2进行中 3完成 4取消")
    private Integer orderStatus;

    /** 关联单据 */
    @Excel(name = "关联单据")
    @ApiModelProperty("关联单据")
    private String relOrderNo;

    /** 完成时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "完成时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("完成时间")
    private Date completeTime;

    /** 客户编号 */
    @ApiModelProperty("客户编号")
    private String customerNo;

    /** 客户名称 */
    @Excel(name = "客户名称")
    @ApiModelProperty("客户名称")
    private String customerName;

    /** 地址 */
    @Excel(name = "地址")
    @ApiModelProperty("地址")
    private String site;

    /** 原因 */
    @Excel(name = "原因")
    @ApiModelProperty("原因")
    private String cause;

    /** 订单总数 */
    @Excel(name = "订单总数")
    @ApiModelProperty("订单总数")
    private Long totalOrderQty;

    /** 已拣货总数 */
    @Excel(name = "已拣货总数")
    @ApiModelProperty("已拣货总数")
    private Long totalActualQty;

    /** 工单分配数量 */
    @ApiModelProperty("工单分配数量")

    private Long distributeQty;
    /** 备料拣货员 */
    @ApiModelProperty("备料拣货员")
    private String picker;
    /** 是否删除：1是 0否 */
    @ApiModelProperty("是否删除：1是 0否")
    private String delFlag;

    /** 排序 */
    @Excel(name = "排序")
    @ApiModelProperty("排序")
    private Integer sort;


    /** 创建人 */
    private String createBy;

    /** 创建人名称 */
    @Excel(name = "创建人")
    private String createByName;

    /** 创建时间 */
    @Excel(name = "创建时间", type = Excel.Type.EXPORT, dateFormat = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    /** 更新人 */
    private String updateBy;

    /** 更新人 */
    @Excel(name = "更新人")
    private String updateByName;

    /** 更新时间 */
    @Excel(name = "最后更新时间", type = Excel.Type.EXPORT, dateFormat = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updateTime;

    /**
     * 线边仓编号
     */
    @ApiModelProperty("线边仓编号")
    private String lineSideWarehouseNo;
    /**
     * 线边仓名称
     */
    @ApiModelProperty("线边仓名称")
    private String lineSideWarehouseName;
    /**
     * 供应商编号
     */
    @ApiModelProperty("供应商编号")
    private String supplierNo;
    /**
     * 供应商名称
     */
    @ApiModelProperty("供应商名称")
    private String supplierName;

    /**
     * 工单编号
     */
    @ApiModelProperty("工单编号")
    private String workOrderNo;

    /**
     * 退货原因
     */
    @ApiModelProperty("退货原因")
    private Integer returnType;

    /**
     * 是否已备料
     */
    private String whetherMp;

    /**
     * 拣货员
     */
    private String pickerByName;
}
